System and method for distributing data over a communications network

ABSTRACT

A system and method for distributing and presenting data such as advertisements from a host server to a browsing device through a communications network. The method involves preloading data from the host server to the browsing device though the communications network, storing the data in the browsing device, detecting a second period of idle time in browsing device operation, and presenting the data through the browsing device upon detection of the second period of idle time.

TECHNICAL FIELD

[0001] The present invention relates generally to distributing data tousers of a communications network, and more particularly, todistributing data from a host server to a browsing device via acommunications network such as the Internet.

BACKGROUND OF THE INVENTION

[0002] In modem society, communications networks such as the Internetenable vast numbers of persons to communicate a virtually limitlessvariety of information across great distances. The development of theWorld Wide Web has enabled persons with relatively little technicaltraining to find and display information in a multimedia format using abrowsing device, such as a personal computer or television set-top box(STB), running a browser program, such as MICROSOFT® Internet Exploreror Netscape Navigator. As a result, the number of sites and the numberof users on the Internet have concomitantly experienced meteoric growth.

[0003] For aid in accessing the Internet, many users subscribe toInternet access services, such as the WEBTV® Internet access network.(WEBTV is a registered trademark of WebTV Networks, Inc. of MountainView, Calif.) The WEBTV Internet access network includes a large numberof browsing devices, referred to as client terminals, and at least onehost server. The client terminals are connected to the Internet viaconventional modem pools, either by Integrated Services Digital Network(ISDN) connection, a telephone line, or another data link, and candirectly access web pages established by Internet publishers. The hostserver communicates with the client terminals to provide a convenientstandardized interface for accessing the Internet. The host server alsooffers supplemental services, such as email, news reports, televisionprogram guides, and enhanced access to certain web pages for subscribersof the service.

[0004] As the audience of users of these Internet access services hasgrown, so too has the potential of such services to deliver advertisingcontent through the Internet. Unfortunately, while a healthy variety ofadvertising methods exists for publishers of Internet sites, vendors ofInternet access services face a lack of methods by which they mayeffectively deliver advertising content to their subscribers.

[0005] The publisher of an Internet site is able to advertise by severalpresently known methods. For example, a publisher may includeadvertisements in graphical banners or audio jingles on an Internetsite. A publisher also may include a text or graphical link to anotherweb page containing information about an advertiser or advertisedproduct. It is also known to embed hidden advertisement links within astandard hypertext link to a destination Internet site. When a userselects the link, intending to go to the destination page, the user alsounwittingly triggers the embedded link, and is briefly shown anadvertisement before the browsing device continues to download thedestination page. This type of interstitial advertising requires theuser to wait while the browsing device downloads and displays theadvertisement. Interstitial advertising methods are also known in whichadvertising information embedded in a web page or in the home page ofthe browser, or cached in the client browsing device itself, ispresented in response to selection of a hypertext link on a web page(see Judson, U.S Pat. No. 5,572,643, the disclosure of which is hereinincorporated by reference). These advertising methods also delay theuser during download of the advertising information.

[0006] Publishers of Internet sites typically advertise using “pulltechnology”. Pull technology is so-named because a user must requestinformation, or pull it, from a server before the information will besent to the user's browsing device. For each of the above-mentionedforms of advertising, the user must direct the browsing device todownload the information.

[0007] Despite the availability of advertising methods for publishers,Internet access services face several problems when advertising. First,pull technology is not an effective means of distributing advertisingfor Internet access services. Often an Internet access service merelyoffers the user a dial-up connection to the Internet. In such a case,the Internet access service is largely invisible to the user. The usertypically uses a modem to dial a phone number and establishes aconnection to the Internet, and uses an off-the-shelf browser program toaccess web pages through the Internet. Pull technology cannot be used todistribute advertising to a user of such an Internet access servicebecause the user is not accessing any web pages published by theInternet access service.

[0008] Other Internet access services, such as the WEBTV Internet accessnetwork, offer Internet access via a proprietary interface allowingaccess to subscriber services, such as a web directory and searchengine, as well as to the Internet. Pull technology may be used toadvertise directly to users of such an Internet access service, but onlywhen the users are accessing the web pages published by the Internetaccess service. When users simply use the Internet access service toview external web pages on the Internet, not published by the Internetaccess provider, pull technology is ineffective to distributeadvertising.

[0009] When a user's browsing device is pointed elsewhere, Internetaccess services must resort to “push technology” for advertising.According to push technology, a server pushes information to a browsingdevice without request from the user, or based on a predeterminedrequest from the user. Current push technology causes the user two typesof delay. First, the user experiences delay as the browsing device takestime to download the pushed information. Second, the user is delayedwhen interrupted by an unrequested display of pushed information. Suchdelay may be annoying to the user, and may decrease the effectiveness ofthe advertising due to the intrusive nature of the advertisement.

[0010] Current browsing devices also cause the user delay. Userstypically experience delay during start-up and shutdown of the device.In addition, a browsing device may appear to stall while performinginternal operations, such as erasing cached files. Finally, the browsingdevice may experience delay when connecting to external devices andremote computers via a communications network. These inherent delays inusing the browsing device further aggravate the user and decrease theenjoyability of using a browsing device to navigate a communicationsnetwork.

[0011] It would be desirable to provide a method for distributing datawherein data is downloaded from a host server across a communicationsnetwork and displayed by a browsing device without causing delay to theuser of the browsing device. It would also be desirable to utilizeinherent delays in browsing device operation, such as wasted start-uptime and downloading time between web pages, to display advertising.

SUMMARY OF THE INVENTION

[0012] A method and system are provided for delivering data from a hostserver to a browsing device through a communications network. The methodtypically includes detecting a first period of idle time of the browsingdevice, preloading data from the host server to the browsing device upondetecting the first period of idle time, and storing the data in thebrowsing device. The first period of idle time may be a period oftemporary inactivity of the browsing device, such as a period ofgraphical user interface inactivity or a period of networkcommunications inactivity. The method also typically includes detectinga second period of idle time of the browsing device and presenting thedata through the browsing device upon detecting the second period ofidle time. The second period of idle time may be a download waitingperiod during which the browsing device has attempted to begin, but hasnot completed, downloading information from a remote server.Alternatively, the second period of idle time may be a connect waitingperiod, during which the browsing device attempts to connect to a remoteserver. The method also may interrupt preloading or presenting the dataupon detection of a determined browsing device event, such as initiationof other network communications by the browsing device, or completion ofdownloading information from a remote server.

[0013] The system typically includes a host server connected to abrowsing device through a communications network. The browsing deviceand the host server are collectively configured to establish aconnection and preload data from the host server to the browsing deviceupon detection of a first period of idle time in browsing deviceoperation. The first period of idle time may be a period of temporaryinactivity of the browsing device, such as a period of graphical userinterface inactivity or a period of network communications inactivity.Typically, the browsing device is configured to present the data upondetection of a second period of idle time in browsing device operation,such as a connect waiting period or a download waiting period which mayoccur while downloading information from a remote server. The browsingdevice is also typically configured to cease presentation of the dataupon detection of a determined browsing device event, such as completionof a downloading operation, a user interaction with the graphical userinterface, or initiation of other network communications by the browsingdevice.

BRIEF DESCRIPTION OF THE DRAWINGS

[0014]FIG. 1 is a somewhat schematic view of a browsing device in theform of a set-top box configured for use in accordance with the presentinvention.

[0015]FIG. 2 is a schematic view illustrating the architecture of thebrowsing device of FIG. 1.

[0016]FIG. 3 is a schematic view of a browsing device in the form of apersonal computer configured for use as part of the present invention.

[0017]FIG. 4 is a schematic view of the structure of a communicationsnetwork for use by browsing devices as shown in FIGS. 1 and 3.

[0018]FIG. 5 is a flowchart illustrating a method for distributing datathrough a communications network.

[0019]FIG. 6 is a flowchart illustrating a method for distributing datathrough a communications network to be presented on start-up of abrowsing device.

[0020]FIG. 7 is a schematic view of the transitions available to a userwhen switching between web pages.

DETAILED DESCRIPTION OF THE INVENTION

[0021] FIGS. 1-7 and the following discussion are intended to provide abrief, general description of a suitable networked computing environmentin which the invention may be implemented. Those skilled in the art willappreciate that the invention may be practiced with other networkedcomputer devices, including hand-held devices, multiprocessor systems,minicomputers, mainframe computers, and the like. The invention may alsobe practiced in distributed computing environments where tasks areperformed by remote processing devices that are linked through acommunications network.

[0022]FIG. 1 depicts a browsing device 10 in the form of a WEBTV clientterminal. As indicated, the client terminal includes an electronics unit12, an ordinary television 14, and a remote control 16. Electronics unit12 typically is referred to as a set-top box (STB), because of its usualplacement on top of television 14. Set-top box 12, however, may be builtinto television 14, forming an integral unit. The client terminal usestelevision 14 as a display device for displaying both video data and agraphical user interface, and as a loudspeaker device for emitting audiodata. The set-top box is coupled to the television by a communicationslink 18. The link is an RF (radio frequency), S-video, composite video,or other equivalent form of communications link.

[0023] The set-top box includes hardware and/or software for receivingand decoding a broadcast video signal 20, such as an NTSC, PAL, SECAM orother TV system video signal, and providing video data to the televisionvia link 20. Set-top box 12 also includes a browser program, which maybe implemented in hardware and/or software, to cause a graphical userinterface 22 to be displayed on television 14. The browser programenables a user to access various WEBTV network services, browse theWorld Wide Web, send email, or otherwise access the Internet.

[0024] Client terminal 10 may include both a standard modem and an ISDNmodem, such that the communication link between set-top box 12 and theInternet can be either a telephone (POTS) connection 24 or an ISDNconnection 26. The set-top box receives power through a power line 28.

[0025] Remote control 16 is operated by the user to control televisionviewing, and to control the client terminal while browsing the WorldWide Web, sending email, or performing other Internet-related functions.The set-top box receives commands from remote control 16 via an infrared(IR) communication link. Alternately, the link between the remotecontrol and the set-top box may be an RF communication link or anyequivalent communication link (e.g., wires, etc.).

[0026]FIG. 2 is a block diagram illustrating internal features ofset-top box 12. In this illustration, operation of the client terminalis controlled by a processing unit, such as central processing unit(CPU) 30, which is coupled to an Application-Specific Integrated Circuit(ASIC) 32. The CPU executes software designed to implement variousfeatures of the present invention. ASIC 32 contains circuitry which maybe used to implement these features. ASIC 32 is coupled to an audiodigital-to-analog converter (DAC) 34 which provides audio output totelevision 14. In addition, ASIC 32 is coupled to a video encoder 36which provides video output to television 14. An IR interface 38 detectsIR signals transmitted by remote control 16 and, in response, providescorresponding electrical signals to ASIC 32. A standard telephone modem40 and an ISDN modem 42 are coupled to ASIC 32 to provide forconnection(s) to the Internet. Those skilled in the art will appreciatethat the set-top box also may include a cable television or radiofrequency modem (not shown).

[0027] A TV interface 44 is coupled to ASIC 32 to receive broadcastvideo signals, such as an NTSC video signal, and to providecorresponding electrical signals to ASIC 32. This allows video datacarried in broadcast video signal 20 to be presented to the viewer ontelevision 14. More specifically, TV interface 44 is configured todigitize the incoming video signal, which is stored in RAM 48, so thatASIC 32 and CPU 30 can process the video signal before displaying it onthe television. This configuration enables the set-top box to generateshared screen viewing where the video signal only occupies a portion ofthe screen. The remaining screen area then can be used to displayvarious user interface controls or data, such as video programminginformation.

[0028] Also coupled to ASIC 32 is memory, including random access memory(RAM) 48 and read-only memory (ROM) 46, which provides for storage ofprogram code for implementing application software to be executed by theset-top box. Note that ROM 46 may be a programmable ROM (PROM), or anyform of erasable PROM (EPROM), or flash memory. A mass storage device 50optionally may be provided and coupled to ASIC 42. The mass storagedevice may be used to input software or data to the client terminal orto store downloaded software or data. Mass storage device 50 can be anysuitable device for storing machine-executable instructions, such as amagnetic drive, optical drive, and the like.

[0029]FIG. 3 depicts an alternate browsing device in the form of aconventional personal computer 11, including a central processing unit(CPU) 52, a memory 54, and a bus 56 that couples various components(including the memory) to the CPU. The bus 56 may be any of severaltypes of bus structures, including a memory bus or memory controller, aperipheral bus, or a local bus using any of a variety of busarchitectures. The memory includes read only memory (ROM) 58 and randomaccess memory (RAM) 60. A basic input/output system 62 (BIOS),containing basic routines which help to transfer information betweenelements within the personal computer (such as during start-up), isstored in ROM 58.

[0030] The personal computer further includes a hard disk drive 66 forreading from and writing to a hard disk, a magnetic disk drive 68 forreading from or writing to a removable magnetic disk, and an opticaldisk drive 70 for reading from or writing to a removable optical disksuch as a CD ROM or other optical media. Hard disk drive 66, magneticdisk drive 68, and optical disk drive 70 are connected to bus 56 by ahard disk drive interface 72, a magnetic disk drive interface 74, and anoptical drive interface 76, respectively. The drives and theirassociated computer-readable media provide nonvolatile storage ofcomputer-readable instructions, data structures, program modules andother data for the personal computer.

[0031] Although the exemplary environment shown in FIG. 3 employs a harddisk, a removable magnetic disk, and a removable optical disk, it shouldbe appreciated by those skilled in the art that other types of computerreadable media which can store data which is accessible by a computer(e.g. magnetic cassettes, flash memory cards, digital video disks,Bernoulli cartridges, random access memories (RAMs), read only memories(ROMs), etc.) also may be used.

[0032] A number of program modules may be stored on the hard disk,magnetic disk, optical disk, ROM 58, or RAM 60, including an operatingsystem, one or more application programs, other program modules, andprogram data. A user may enter commands and information into thepersonal computer 11 through input devices such as a keyboard 78 and/ora pointing device (mouse) 80. Other input devices (not shown) mayinclude a microphone, joystick, game pad, satellite dish, scanner, orthe like. These and other input devices often are connected to theprocessing unit 52 through a serial port interface 82 which is coupledto the bus. However, the input devices may be connected by otherinterfaces, such as a parallel port, game port or a universal serial bus(USB).

[0033] A monitor 84 or other type of display device is also connected tothe bus 56 via an interface, such as a video adapter 86. In addition tothe monitor, personal computers typically include other peripheraloutput devices (not shown) such as speakers and printers. Finally,personal computer 11 includes a browser program, which may beimplemented in hardware and/or software, to cause a graphical userinterface to be displayed on monitor 84. The user employs the graphicaluser interface to browse the World Wide Web, send email, and otherwiseaccess the Internet. The personal computer also typically includes amodem 88, such as an ISDN modem or telephone line modem, connected tothe serial bus for communication with remote computers through acommunications network.

[0034]FIG. 4 illustrates a basic configuration of a networked computingenvironment in which a browsing device, such as a client terminal orpersonal computer, typically operates. A number of browsing devices 10are coupled to a modem pool 90 via bi-directional data connections 92,which may be a telephone connection, ISDN connection, or any othersimilar type of connection, such as cable and satellite forwardchannels. Modem pool 90 typically is coupled through a router, such asthat conventionally known in the art, to a number of remote servers 94via a conventional communications network 96, such as the Internet. Thecommunications network also includes a host server 98, whichspecifically supports and communicates with browsing devices 10. Thebrowsing devices each have a connection to host server 98 through modempool 90 and the Internet. Note that modem pool 90 is a conventionalmodem pool, such as is found today throughout the world providing accessto the Internet and private networks.

[0035] The present invention preferably is implemented on acommunications network navigable by hypertext links, such as the WorldWide Web. The World Wide Web encompasses a vast collection of web pagesresiding as data files on remote servers connected to the Internet. Eachweb page is downloadable and viewable by a browsing device, and oftencontains hypertext links, which, if selected, cause the browsing deviceto point to, or download and display, a new web page.

[0036] Within the World Wide Web, a collection of related web pagesforms a web site. Individuals or organizations that provide content tothe World Wide Web are known as publishers. A single publisher on theInternet may establish a single page, an entire web site, or multipleweb sites. Web pages are stored as data files on remote servers, andtransmitted to browsing devices upon request from each browsing device.Each remote server has a unique domain name or Internet protocol (IP)address which marks its location on the Internet. Each data file whichcontains web page data has a unique file path to indicate its locationwithin the remote server.

[0037] To download and present data from a remote server over thecommunications network, browsing device 10 contacts a remote server 94through communications network 96 using a network address such as auniversal resource locator (URL). The URL, it will be appreciated,contains the protocol by which the data is to be transferred, as well asthe domain name or IP address at which the remote server is located, andthe file path of the specific file to be transferred. The remote serverthen transmits the requested data to the browser program, which in turndisplays the data according to predefined conventions.

[0038] Data files containing web pages typically are transmitted usingthe HyperText Transfer Protocol (HTTP), and encoded using the HyperTextMarkup Language (HTML). The HTML language provides a standard forinterpretation of text data, formatting instructions, and otherbehavioral attributes of a web page, including links to other web pagesor resource files containing image, video, and audio data.

[0039] In the above-described environments, a method for preloading andpresenting certain data, such as advertising data, during periods whenbrowsing device 10 would otherwise experience idle time, may bepracticed as follows. As shown in FIG. 5 at 110, the browsing devicedetects a first period of idle time in browsing device operation. Thisfirst period of idle time may be an extended period of nonuse of thebrowsing device, such as when the main functional components of thebrowsing device are turned off during late night or early morning hours.Typically, such an extended period of nonuse is identified by the user,the user specifying a time of day when the browsing device is not likelyto be in use. Alternatively, a sensor, implemented in hardware and/orsoftware, may be employed to record the length of time the mainfunctional components of the browsing device have been turned off, andwake the browsing device after a predetermined period of time. Inanother alternative, this first period of idle time may be a period oftemporary inactivity in browsing device operation, such as a period ofnetwork communications inactivity, a connect waiting period during whichthe browsing device is attempting to connect to a remote server throughthe communications network, or a stalled download period during whichthe browsing device is connected to, but not receiving information from,a remote server. A period of network communications inactivity occurswhen the browsing device, or alternatively the browser program, is notengaged in any communication over the communications network. Thebrowser may establish contact with the host server through thecommunications network upon detecting the first period of idle time.Alternately, the browsing device and host server may maintain constantcontact.

[0040] As shown at 120, either after or prior to establishing contact, aselection program module at the host server selects data, typicallyadvertising data, to download to the browsing device from the hostserver. While the selection program typically resides at the hostserver, those skilled in the art will appreciate that it couldalternately reside on any device connected to communications network 96,and communicate selected data to the host server over the communicationsnetwork.

[0041] The selection program examines outstanding orders fromadvertisers, and selects data containing an advertisement, a group ofadvertisements, or other data, to preload into the memory of thebrowsing device over the communications network upon detection of thefirst period of idle time. Internet advertising typically is sold by aunit of presentation time known as an impression. Advertisers maypurchase a number of impressions for a particular advertisement to bepresented within a given time period. For example, an advertiser maypurchase 6000 impressions of an advertisement to be presented to usersin July. The selection program balances outstanding orders forimpressions of advertisements and chooses the most appropriateadvertisement for presentation. For alternative methods of selection ofdata, see the copending U.S. Patent application entitled “System forTargeting Information to Specific Users on a Computer Network” filedSep. 8, 1998, by inventors John Adelus, Dean Blackketter, Alan Cohn, andThomas Scott, the disclosure of which is herein incorporated byreference.

[0042] As indicated at 130, the data is preloaded from the host serverto the memory of the browsing device over the communications network. Atstep 140, the browsing device attempts to detect a determined browsingdevice event during preloading. The determined browsing device event,for example, may be an initiation of other network communicationsactivity by the browser program and/or browsing device, such asdownloading a new web page. Alternatively, the determined browsingdevice event may be a user interaction with the graphical user interfaceof the browser program. If a determined browsing device event isdetected, the browsing device will interrupt the preloading ofinformation to resume or restart at a later time, as shown at step 150.

[0043] After establishing contact and preloading, the data is thenstored, at step 160, in the browsing device. The data may be stored inmemory such as RAM, a mass storage device such as a hard drive, or othermemory device.

[0044] To avoid unnecessary downloading of data, browsing device 10 maycommunicate to the selection program the identity of data which thebrowsing device has currently cached in memory and/or on a mass storagedevice. The selection program typically does not instruct the hostserver to download data already stored in the browsing device. Theselection program thus has the capability to remember which data hasbeen preloaded to a given browsing device, and refrain fromunnecessarily downloading the same data twice.

[0045] As shown at 170, at some point after the data is preloaded andstored, either during the same session of use or at some later time, thebrowsing device detects a second period of idle time in browsing deviceoperation. This second period of idle time may occur at various pointsof inactivity in the graphical user interface of the browsing device.The second period of idle time, for example, may be a download waitingperiod during which the browsing device has attempted to begin, but hasnot completed, downloading information from a remote server on thecommunications network. Alternately, the second period of idle time maybe a connect waiting period during which the browsing device attemptsto, but is temporarily unable to, connect with a remote computer on thenetwork. Furthermore, the second period of idle time may be a start-upwaiting period during a start-up operation of the browsing device, afterwhich certain components of the browsing device are functional such thatthe data may be displayed. Data is only presented during time in whichthe browsing device would otherwise be idle. Therefore, user operationof the browsing device is not delayed or encumbered.

[0046] To control the flow of advertising, the browsing device canindependently evaluate three conditions before proceeding to present thedata to the user through the browser. First, as shown at 180, when theuser inputs a destination URL into the GUI of the browsing device, thebrowsing device detects whether a publisher shift has occurred.Alternatively stated, the browsing device detects whether thedestination URL is an address to a web page published by a differentpublisher than the publisher of the currently viewed URL. Publishershifts may be detected by applying a predetermined process to comparethe domain names of a current URL and a destination URL forcommonalities typically associated with a common publisher, such asidentical top and mid level domains within each domain name. For anexample of such a process, see the copending U.S. Patent Applicationentitled “System And Method For Controlling Delivery Of Content Over ACommunications Network” filed Sep. 8, 1998 by Timo Bruck and Alan Cohn,the disclosure of which is herein incorporated by reference. Advertisingdata typically will be presented only if a publisher shift has occurred.

[0047] Second, if a publisher shift has occurred, the browsing devicedetermines the “weight” of the transition between URLs, as shown at step190. A transition designated as “heavy” is eligible for a display ofdata. A transition designated as “light” is ineligible. Preferably, allpublisher shift transitions are predetermined to be heavy, such thatdata may be displayed at each publisher shift. All other transitions arelight.

[0048] Third, as shown at step 200, the frequency of data presentationaccording to the present invention may be throttled by communicating afrequency value from the host server to the browsing device, anddetermining whether a minimnum period of time corresponding to thefrequency value has elapsed since a previous presentation of data. Ifthe minimum period of time has not yet elapsed, the data will not bepresented. Once the minimum period of time has elapsed, the browsingdevice will allow the presentation of data, and thereafter, will startthe time period anew to measure the next interval between datapresentations.

[0049] Once the browsing device determines that data will be presented,the browsing device displays a transition page at step 210, whichprovides the format for the display of the data. The transition pagetypically is encoded in HTML format and saved in a mass storage deviceof the browsing device. Upon command from the host server the browsingdevice can download a new transition page with a new format from thehost server, or from some other remote server connected to thecommunications network. A new transition page may be downloaded multipletimes during a single use session of the browsing device by a user, suchthat the format for display of the data changes during the session.Alternately, the transition page is hard-coded into the browser softwarein the browsing device. The transition page may appear to be opaque,such that no other web page can be seen through the transition page.Alternately, the transition page may appear partially translucent, suchthat either the currently viewed page or the destination page is visiblethrough part of the transition page. The transition page may beformatted to contain data that is text data, graphical data, audio data,or video data.

[0050] After displaying the transition page, the browsing devicecommences to display the preloaded data according to the formatprescribed by the transition page, as shown at step 220. The data may beof virtually any type interpretable by the browsing device, includingbut not limited to moving images encoded in MACROMEDIA flash, mpegvideo, avi, or animated gif formats, pictures encoded in gif, jpeg, orpict formats, or audio encoded in wav, aiff, or snd formats.

[0051] Once the data is displayed, the browsing device, at step 230,attempts to detect a determined browsing device event, such as userinteraction with the graphical user interface of the browsing device orcompletion of a download of a web page. Where the second period of idletime is a connect waiting period, the determined browsing device eventmay be a successful connection to a remote server.

[0052] When the browsing device detects the determined browsing deviceevent, the browsing device interrupts the display of the transition pageand data, as shown at step 240. Thereafter, the browsing device displaysthe web page the browsing device was preparing to display, or waiting toconnect to, at the commencement of the second period of idle time. Wherethe data contains more than one advertisement, presentation of a firstadvertisement may be immediately followed by the presentation of asecond advertisement. Alternatively, the browsing device may wait untildetection of a third period of idle time to present the secondadvertisement. The browsing device also may resume presentation of datathat is interrupted by the determined browsing device event upondetection of a third period of idle time by the browsing device.

[0053] Preferably, the browsing device records the length ofpresentation time of the data, as shown at step 250. Once the data hasbeen presented for a predetermined amount of time, the browsing devicemay report to the host server that a completed impression of the datahas been achieved. Alternatively, the browsing device may report theactual length of the presentation time of the data to the host server.The host server may reprogram the browsing device through thecommunications network to adjust the predetermined amount of timerequired for an impression.

[0054] Typically, the browsing device records an impression even wherethe presentation of the data is interrupted. This is accomplished byadding a period of preinterruption presentation time to a period ofpost-interruption presentation time to satisfy the predetermined amountof time required for an impression. The host server also can instructthe browsing device to report completion of an impression to the hostserver only if the data is displayed for the predetermined amount oftime without interruption. The browsing device typically records thelength of time the data is presented in discrete time intervals. Thebrowsing device may record the length of time the data is presented inreal time.

[0055] For large advertisements such as lengthy video presentations,which require great amounts of time to download, the present inventiontypically is practiced by preloading data upon detection of an extendedperiod of nonuse of the browsing device (e.g., when the browsing devicewould otherwise be turned off), and displaying the video data during thestart-up operation of the browsing device. Such an extended period ofnonuse, as occurs in the early morning hours when users are asleep,typically is identified by the user, the user specifying a time of daywhen the browsing device is not in use. Alternatively, the extendedperiod of nonuse may be detected by a sensor in the browsing device.

[0056] As shown at step 310 in FIG. 6, the extended period of nonuse isdetected by the browsing device, typically at a user identified time,and the browsing device wakes from nonuse and contacts the host server,as indicated at 320. At step 330, the host server selects a videoadvertisement according to a predetermined advertising managementprocess. The host server preloads the selected video advertisement tothe browsing device during the period of nonuse, as shown at 340, andthe browsing device stores the video advertisement 350 on a mass storagedevice such as a hard drive. The browsing device typically shuts downafter successfully preloading the video advertisement and returns to astate of nonuse, as shown at step 360.

[0057] At step 370, the browsing device detects the start-up operation.At step 380, while waiting for the browsing device to complete thestart-up operation and make a connection with the host server, a periodalso referred to as the start-up waiting period, the browsing devicepresents the video advertisement on the display device. Typically, avideo advertisement is 15 or 30 seconds in length, depending on theamount of memory available on the browsing device. A video advertisementis typically shown in its entirety before the start-up operation iscomplete. However, presentation of a video advertisement may beinterrupted by the browsing device upon detection of the completion ofthe start-up operation and start-up waiting period. As shown at 390,when the video advertisement is shown to completion the browsing devicerecords the successful presentation of the video advertisement, andreports completion of the presentation (also referred to as animpression) to the host server through the communications network.

[0058] For smaller quantities of data, such as graphical banners orMACROMEDIA flash presentations, data may be preloaded during periods oftemporary inactivity in the network communications of the browsingdevice and/or browser program, and presented during download waitingperiods. As shown in FIG. 7, the graphical user interface 400 displays acurrent web page 410 located at a current URL 420. The browsing devicereceives a user command to download a destination web page, for example,when a user selects a hypertext link 430 or inputs a destination URL440. Upon receiving such a command, the browsing device preferablydisplays an advertisement 450 within a transition page 460 while thebrowsing device is transitioning from displaying the current web page todisplaying the destination web page. Where display of an advertisementis not desirable, the browsing device also may trigger the display of aprogress bar 480 over the current web page 410, or blank transition page470 during the download waiting period. After completion of the downloadwaiting period, the browsing device displays a destination web page 490,located at the destination URL 440.

[0059] While the invention has been disclosed in its preferred form, thespecific embodiments thereof as disclosed and illustrated herein are notto be considered in a limiting sense as numerous variations arepossible. Applicant regards the subject matter of the invention toinclude all novel and non-obvious combinations and subcombinations ofthe various elements, features, functions and/or properties disclosedherein. No single feature, function, element or property of thedisclosed embodiments is essential. The following claims define certaincombinations and subcombinations which are regarded as novel andnon-obvious. Other combinations and subcombinations of features,functions, elements and/or properties may be claimed through amendmentof the present claims or presentation of new claims in this or a relatedapplication. Such claims are also regarded as included within thesubject matter of applicant's invention irrespective of whether they arebroader, narrower, or equal in scope to the original claims.

1. A method of delivering data from a host server to a browsing devicethrough a communications network, the method comprising steps of:detecting a first period of idle time in browsing device operation;preloading data from the host server to the browsing device though thecommunications network upon detecting the first period of idle time;storing the data in the browsing device; detecting a second period ofidle time in browsing device operation; and presenting the data throughthe browsing device upon detecting the second period of idle time. 2.The method of claim 1 , further comprising the steps of: detecting adetermined browsing device event during preloading; and interruptingpreloading upon detecting the determined browsing device event.
 3. Themethod of claim 2 , wherein the determined browsing device event is auser interaction with a graphical user interface of the browsing device.4. The method of claim 2 , wherein the determined browsing device eventis an initiation of other network communications by the browsing device.5. The method of claim 1 , further comprising the steps of: detecting adetermined browsing device event during presenting of the data; andinterrupting the presenting of the data upon detecting the determinedbrowsing device event.
 6. The method of claim 5 , wherein the determinedbrowsing device event is a user interaction with a graphical userinterface of the browsing device.
 7. The method of claim 5 , wherein thedetermined browsing device event is completion of a download of a webpage.
 8. The method of claim 5 , further including the step of resumingpresentation of the data upon detecting a third period of idle time inbrowsing device operation.
 9. The method of claim 1 , further comprisingthe step of: sending a report from the browsing device to the hostserver confirming the completion of the step of presenting the data. 10.The method of claim 1 , wherein the first period of idle time is aperiod of temporary inactivity of the browsing device, and whereinpreloading the data occurs during the period of temporary inactivity.11. The method of claim 10 , wherein the period of temporary inactivityis a period of graphical user interface inactivity.
 12. The method ofclaim 10 , wherein the period of temporary inactivity is a period ofnetwork communications inactivity of the browsing device.
 13. The methodof claim 10 , wherein the period of temporary inactivity is a stalleddownload period during which the browsing device is connected to, butnot receiving information from, a remote server.
 14. The method of claim1 , wherein the second period of idle time is a connect waiting periodduring which the browsing device attempts to connect to a remote serveron the communications network.
 15. The method of claim 1 , wherein thesecond period of idle time is a download waiting period during which thebrowsing device has attempted to begin, but has not completed,downloading information from a remote server on the communicationsnetwork.
 16. The method of claim 1 , wherein the data is text data. 17.The method of claim 1 , wherein the data is graphical data.
 18. Themethod of claim 1 , wherein the data is audio data.
 19. The method ofclaim 1 , wherein the data is video data.
 20. The method of claim 1 ,wherein the data is advertising data.
 21. The method of claim 1 ,further comprising the steps of: displaying a transition page on thebrowsing device, the transition page including a format for the data;and presenting the data according to the format of the transition page.22. The method of claim 21 , further comprising the step of: downloadingthe format for the transition page from the host server to the browsingdevice through the communications network.
 23. The method of claim 22 ,wherein the downloading is achieved by transmitting a URL from the hostserver to the browsing device and downloading HTML code containing theformat for the transition page from an Internet site located at the URLto the browsing device.
 24. The method of claim 23 , wherein downloadingHTML code containing the format occurs multiple times during a singleuse session of the browsing device, such that the format for the datachanges during the session.
 25. The method of claim 21 , wherein thetransition page is opaque.
 26. The method of claim 2 1, wherein thetransition page is partially translucent, such that a separate page isvisible through part of the transition page.
 27. The method of claim 1 ,further comprising: before the step of presenting the data, determiningwhether a minimum period of time has elapsed since a previouspresentation of data, and preventing presentation of the data if theminimum period of time has not elapsed.
 28. The method of claim 27 ,wherein the minimum period of time is communicated from the host serverto the browsing device through the communications network.
 29. A systemfor distributing data to a user of a communications network, the systemcomprising: a host server; and a browsing device including a displaydevice, the browsing device being connectable to the host server throughthe communications network; wherein the host server and the browsingdevice are collectively configured to establish a connection between thebrowsing device and the host server upon detection of a first period ofidle time in browsing device operation and to preload data from the hostserver to the browsing device through the communications network; andwherein the browsing device is configured to present the data upondetection of a second period of idle time in browsing device operation,and to cease to present the data upon detection of a determined browsingdevice event.
 30. The system of claim 29 , wherein the first period ofidle time is a period of temporary inactivity of the browsing device,and preloading the data occurs during the period of temporaryinactivity.
 31. The system of claim 30 , wherein the period of temporaryinactivity is a period of network communications inactivity of thebrowsing device.
 32. The system of claim 30 , wherein the period oftemporary inactivity is a period of network communications inactivity ofa browser program on the browsing device.
 33. The system of claim 30 ,wherein the period of temporary inactivity is a stalled download period,during which the browsing device is connected to but not receivinginformation from a remote server.
 34. The system of claim 29 , whereinthe second period of idle time is a connect waiting period during whichthe browsing device attempts to, but is temporarily unable to, connectto a remote server on the communications network.
 35. The system ofclaim 29 , wherein the second period of idle time is a download waitingperiod during which the browsing device has attempted to begin, but hasnot completed, downloading information from a remote server on thecommunications network.
 36. The system of claim 29 , wherein thedetermined browsing device event is a user interaction with a graphicaluser interface of the browsing device.
 37. The system of claim 29 ,wherein the determined browsing device event is completion of a downloadof a web page.
 38. A method of distributing data over a communicationsnetwork from a host server to a browser program on a browsing device anddisplaying the data to a user while the browsing device transitionsbetween displaying a current web page and a destination web page, themethod comprising steps of: detecting a period of network communicationsinactivity in the browsing device; preloading the data from the hostserver to the browsing device upon detection of the period of networkcommunications inactivity, and interrupting preloading the data wherethe browser program on the browsing device initiates other networkcommunications; storing the data in memory of the browsing device;providing a transition page including a format to display the data;storing the transition page in memory of the browsing device; displayinga current web page on the browsing device; receiving a user command atthe browsing device to download a destination web page; downloading thedestination web page to the browsing device; determining that a minimumperiod of time has elapsed since a most recent display of the data;displaying the transition page on the browsing device; displaying thedata on the browsing device according to the format of the transitionpage; detecting completion of the step of downloading the destinationweb page; interrupting display of the data and the transition page upondetecting completion of the step of downloading; displaying thedestination web page on the browsing device; recording presentation timeof the data at the browsing device; and when the presentation time meetsor exceeds a predetermined amount of presentation time required for animpression, reporting a completed impression for the data from thebrowsing device to the host server.
 39. A system for distributing datafrom a host server to a user of a browsing device over a communicationsnetwork and displaying the data while the browsing device istransitioning from a current web page to a destination web page, thesystem comprising: a host server connectable to a communicationsnetwork; a browsing device, including a display device and a memory, thebrowsing device being connectable to the communications network andconfigured to communicate with the host server through thecommunications network; a browser program executable on the browsingdevice, the browser program being configured to provide a graphical userinterface on the display device of the browsing device for displayingthe contents of remotely accessed files, and being configured to detecta period of temporary inactivity in network communications of thebrowsing device, and request the data from the host server upondetecting the period of temporary inactivity; wherein the host server isconfigured to select and transmit the data to the browsing device uponrequest from the browsing device; wherein the browsing device isconfigured to interrupt transmission of the data from the host serverupon initiation of other network communications by the browsing device;and wherein the browsing device is configured to display a transitionpage containing the data after displaying the current web page andbefore displaying the destination web page, until completion of thedownload of the destination web page.